package com.cloudlead.commonData.vo;

import com.cloudlead.common.lang.persistence.AbstractIdEntity;

import com.cloudlead.commonData.action.validator.TbBankaccountRecordValidatorGroup.*;

import java.lang.Float;
import javax.validation.constraints.Size;
import com.cloudlead.commonData.vo.TbBankAccount;
import com.cloudlead.common.lang.annotation.BelongsTos;
import com.cloudlead.common.lang.annotation.Domain;
import org.joda.time.DateTime;
import com.cloudlead.common.lang.annotation.Label;
import java.lang.String;
import javax.validation.constraints.NotNull;
import com.cloudlead.commonData.vo.TbFuelRecharge;

/**
 * TbBankaccountRecord is a Codegen vo type
 */
@Label("账户信息记录表")
@BelongsTos(values = {
	@com.cloudlead.common.lang.annotation.BelongsTo(property="tbBankAccount", rootField="tbBankAccountId")
,	@com.cloudlead.common.lang.annotation.BelongsTo(property="tbFuelRecharge", rootField="tbFuelRechargeId")
})
@Domain(domainClassName="com.cloudlead.commonData.entity.ETbBankaccountRecord")
public class TbBankaccountRecord extends AbstractIdEntity<String> {

    private static final long serialVersionUID =13153521118404L;    
    @Label("删除标记")
    @Size(max=8)
    private String flag;

    @NotNull(groups={Update.class})
    @Label("id")
    @Size(max=24)
    private String id;

    @Label("账户余额")
    private Float money;

    @Label("交易时间")
    private DateTime recordDate;

    @Label("交易金额")
    private Float recordMoney;

    @NotNull(groups={Create.class,Update.class})
    @Label("tbBankAccountId")
    private TbBankAccount tbBankAccount;

    @NotNull(groups={Create.class,Update.class})
    @Label("tbFuelRechargeId")
    private TbFuelRecharge tbFuelRecharge;

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Float getMoney() {
        return money;
    }

    public void setMoney(Float money) {
        this.money = money;
    }

    public DateTime getRecordDate() {
        return recordDate;
    }

    public void setRecordDate(DateTime recordDate) {
        this.recordDate = recordDate;
    }

    public Float getRecordMoney() {
        return recordMoney;
    }

    public void setRecordMoney(Float recordMoney) {
        this.recordMoney = recordMoney;
    }

    public TbBankAccount getTbBankAccount() {
        return tbBankAccount;
    }

    public void setTbBankAccount(TbBankAccount tbBankAccount) {
        this.tbBankAccount = tbBankAccount;
    }

    public TbFuelRecharge getTbFuelRecharge() {
        return tbFuelRecharge;
    }

    public void setTbFuelRecharge(TbFuelRecharge tbFuelRecharge) {
        this.tbFuelRecharge = tbFuelRecharge;
    }

    public String toString() {
         return String.format("TbBankaccountRecord { flag : %s,id : %s,money : %s,recordDate : %s,recordMoney : %s,tbBankAccount : %s,tbFuelRecharge : %s }",flag,id,money,recordDate,recordMoney,tbBankAccount,tbFuelRecharge);
    }

}

